package com.qlk.odcinterface.manager;

import com.qlk.common.utils.page.PageUtil;
import com.qlk.odcinterface.domain.PmsFullCut;
import com.qlk.odcinterface.domain.query.PmsFullCutQuery;
import com.qlk.odcinterface.sdk.api.request.PmsFullCutRequest;

import java.util.List;

/**
 * PmsFullCutManager接口
 * 
 * @author zhaoyanan
 * @version 2016-4-14 17:10:21
 * 
 */
public interface PmsFullCutManager {

    /**
     * 批量增加对象信息
     * 
     * @param pmsFullCutList
     * @return
     */
    public boolean insert(List<PmsFullCut> pmsFullCutList);

    /**
     * 单个增加对象信息
     * 
     * @param pmsFullCut
     * @return
     */
    public boolean insert(PmsFullCut pmsFullCut);

    /**
     * 更新 对象信息
     * 
     * @param pmsFullCut
     *            对象信息对象
     * @return false：失败 true：成功
     */
    public boolean update(PmsFullCut pmsFullCut);

    /**
     * 根据查询Bean获取对象集合，无翻页
     * 
     * @param queryBean
     * @return
     */
    public List<PmsFullCut> queryPmsFullCutList(PmsFullCutQuery queryBean);

    /**
     * 根据查询Bean获取对象集合，带翻页
     * 
     * @param queryBean
     * @param pageUtil
     * @return
     */
    public List<PmsFullCut> queryPmsFullCutListWithPage(PmsFullCutQuery queryBean,
                                                        PageUtil pageUtil);

    /**
     * 根据查询Bean获取对象信息总数
     * 
     * @param queryBean
     *            对象信息查询对象
     * @return 对象信息总数
     */
    public int queryPmsFullCutCount(PmsFullCutQuery queryBean);

    /**
     * 根据主键删除对象信息，该处做的是逻辑删除
     * 
     * @param pmsFullCut
     *            　
     * @return
     */
    public boolean delete(PmsFullCut pmsFullCut);

    /**
     * 根据主键获取对象信息
     * 
     * @param id
     *            主键字段
     * @return 对象信息
     */
    public PmsFullCut getPmsFullCutById(Long id);

    /**
     * 根据主键集合批量删除对象信息，该处做的是逻辑删除
     * 
     * @param pmsFullCuts
     *            PmsFullCut集合
     * @return
     */
    public boolean delete(PmsFullCut[] pmsFullCuts);

    /**
     * 判断是否存在
     * 
     * @param pmsFullCut
     * @return
     */
    public boolean exist(PmsFullCut pmsFullCut);

    public boolean syncFullCutInfo(PmsFullCutRequest fullCutRequest, String isStatusUpdate);
}
